home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Freeware / PerfectPaint / rexx / text / Candy.rx < prev    next >
Encoding:
Text File  |  2002-03-13  |  2.3 KB  |  165 lines

  1. /*
  2.     Arexx Text Script
  3. */
  4.  
  5.     options results
  6.  
  7.     parse ARG Port x y b
  8.     
  9.     ADDRESS value Port
  10.  
  11.     pp_GetDepth
  12.     depth=result
  13.     IF depth<24 then DO    
  14.         pp_Warn 'Only*for*24Bits.'
  15.         EXIT
  16.     END
  17.  
  18.     F=0
  19.     FF=1
  20.     ADDRESS COMMAND
  21.     if EXISTS('PerfectPaint:Prefs/Rexx_Prefs/Candy') THEN DO
  22.         IF OPEN('lfile','PerfectPaint:Prefs/Rexx_Prefs/Candy', "R") then DO
  23.             F = READLN('lfile')
  24.             FF = READLN('lfile')
  25.             CALL CLOSE('lfile')
  26.         END
  27.     END
  28.  
  29.     ADDRESS value Port
  30.     pp_DialogInit 230 60 "*Candy*" 1
  31.         pp_slider 0 80 9 100 16 "Bevel*Size" 1 1 10 FF
  32.     pp_Dialog
  33.     rc=result
  34.     IF rc=0 THEN EXIT
  35.  
  36.     pp_GetDialog 0
  37.     FF=result
  38.  
  39.     CALL SavePrefs('Candy',F,FF)
  40.     ADDRESS value Port
  41.  
  42.     pp_GetWidthT
  43.     w=result
  44.     pp_GetHeightT
  45.     h=result
  46.     pp_GetApen
  47.     Clr=result
  48.     pp_ClosestColor 255 255 255
  49.     White=result
  50.     pp_ClosestColor 0 0 0
  51.     Black=result
  52.  
  53.     pp_Psave "ram:palette"
  54.     pp_GetCurrentBuffer
  55.     CBf=result
  56.  
  57.     pp_FindEmptyBuffer
  58.     Bf=result
  59.     if Bf=-1 then DO
  60.         pp_Warn "can't*find*empty|Buffer."
  61.         EXIT        
  62.     END
  63.  
  64.     pp_UpdateUndoBox x-w/2-2 y-h/2-2 x+w/2+2 y+h/2+2
  65.  
  66.     pp_SetBuffer Bf
  67.  
  68.     pp_New w+20 h+20 24
  69.  
  70.     pp_Pload "ram:palette"
  71.     ADDRESS COMMAND
  72.     'delete >nil: ram:palette'
  73.     ADDRESS value Port    
  74.  
  75.     pp_ComposeReqOff
  76.  
  77.     pp_SetApen Clr
  78.     pp_BoxF 0 0 w+19 h+19    
  79.     pp_EffectOff
  80.  
  81. /*
  82.     IF F=0 then DO
  83.         pp_SetBpen Clr
  84.         pp_Cls
  85.     END
  86.     IF F=1 then DO
  87.         pp_EffectOn
  88.         pp_Brush 0 0 0
  89.         pp_BoxF 0 0 w+19 h+19
  90.         pp_EffectOff
  91.     END
  92.     IF F=2 then DO
  93.     END
  94. */
  95.  
  96.     pp_SpareOnOff
  97.     pp_SetApen White
  98.     pp_SetBpen BLack
  99.     pp_Cls
  100.     pp_TextDraw W/2+10 h/2+10
  101.  
  102.     pp_EffectOn
  103.     pp_Compose 0 100 0
  104.     pp_GaussianBlur 20
  105.     pp_Boxf 0 0 w+19 h+19
  106.  
  107.     pp_ConvInit 0 1 150
  108.     A=FF*-1
  109.     pp_Conv 0 0 0 0 0 0
  110.     pp_Conv 1 0 A 0 0 0
  111.     pp_Conv 2 0 0 0 0 0
  112.     pp_Conv 3 0 0 0 FF 0
  113.     pp_Conv 4 0 0 0 0 0
  114.     pp_Boxf 0 0 w+19 h+19
  115.     pp_EffectOff
  116.  
  117.     pp_SparetoStencil
  118.     pp_StencilOn
  119.     pp_InvStencil
  120.     pp_SpareOnOff
  121.     pp_Cls
  122.     pp_SpareOnOff
  123.     pp_StencilOff
  124.     pp_SetApen Black
  125.     pp_SetBpen White
  126.     pp_Cls
  127.     pp_TextDraw W/2+10 h/2+10    
  128.     pp_TextEffect 1 1
  129.     pp_TextMake
  130.     pp_TextDraw W/2+10 h/2+10
  131.     pp_SparetoStencil
  132.     pp_StencilOn
  133.     pp_SpareOnOff
  134.     pp_SetBuffer CBf
  135.     pp_ComposeBuffer x y 100 Bf
  136.  
  137.     pp_TextEffect 0 0
  138.     pp_TextMake
  139.  
  140.     pp_ClearBuffer Bf
  141.  
  142.     pp_ComposeReqOn
  143.  
  144. exit
  145.  
  146.  
  147. SavePrefs: PROCEDURE
  148.     
  149.     Prefname='PerfectPaint:Prefs/Rexx_Prefs/'||ARG(1)
  150.  
  151.     if EXISTS(Prefname) THEN DO
  152.         ADDRESS COMMAND
  153.         'delete >nil: '||Prefname
  154.     END
  155.  
  156.     IF OPEN('pfile',PrefName,'W') THEN DO
  157.  
  158.     do i=2 to ARG()
  159.         CALL WRITELN('pfile',ARG(i))
  160.     end
  161.  
  162.     CALL CLOSE('pfile')
  163.  
  164. RETURN
  165.